top 5 mistakes developers make